// https://leetcode-cn.com/problems/house-robber/
// 198. 打家劫舍
// 你是一个专业的小偷，计划偷窃沿街的房屋。每间房屋内都藏有一定的现金，影响你偷
// 窃的唯一制约因素是相邻的房屋装有相互连通的防盗系统，如果两间相邻的房屋在同一
// 晚上被小偷闯入，系统会自动报警。
// 给定一个代表每间房屋存放金额的非负整数数组，计算你在不触动警报装置的情况下，
// 一夜之内能够偷窃到的最高金额。
function rob(nums: number[]): number {
    if (nums.length === 1) return nums[0];

    let a = nums[0];
    let b = Math.max(a, nums[1]);
    let result = b;

    for (let i = 2; i < nums.length; i++) {
        result = Math.max(nums[i] + a, b);
        a = b;
        b = result;
    }

    return result;
}
